package com.xmhmyh.generalframework.common.enums;

/**
 * @Author: 于丁
 * 返回code枚举
 * @DateTime: 2020/7/21 4:09 下午
 */
public enum ResponseCode implements BaseEnums {
    /**
     * 通用 200-1000
     **/
    SUCCESS(200, "请求成功"),
    FAIL(201, "请求失败"),
    NO_PERMISSION(203, "您没有权限访问"),
    LOGIN_TIME_OUT(204, "凭证错误或已过期，请重新登录"),
    ENTITY_NOT_FIND(205, "实体未找到"),
    ENUM_NOT_FIND(206, "找不到枚举"),
    SIGN_ERROR(207, "签名错误"),
    VERIFICATIONCODE_ERROR(208, "验证码错误"),
    SMS_ERROR(209, "验证码发送失败"),
    EXCEL_UNDEFIND(210, "EXCEL文件不存在"),
    EXCEL_IMPORTERROE(211, "EXCEL导入失败"),
    PARAMETER_ERROR(212, "参数错误"),
    /**
     * 微信相关 2201-2400
     */
    LOGIN_ERROR(212, "登录失败"),

    /**
     * 用户相关 1001-1200
     **/
    USERNAME_OR_PASSWORD_ERROR(1001, "用户名或者密码错误"),
    LOGIN_FAIL(1002, "登录失败"),
    USER_NOTFOUND(1003, "用户未找到"),
    SUPER_ADMIN_NO_DELETE(1004, "超级管理员不可以删除"),
    USER_REPEAT(1005, "用户名重复"),
    OLD_PASSWORD_ERROR(1006, "旧密码不对"),
    VERIFICATION_CODE_ERROR(1007, "验证码错误"),
    LOCATION_ERROR(1008, "当前区域无法注册"),


    /**
     * 菜单相关 1201-1400
     **/
    NO_MANAGER_FOUND(1201, "找不到管理员"),

    /**
     * 角色相关 1401-1600
     **/
    ROLE_NO_FOUND(1401, "找不到角色"),


    /**
     * 生成代码相关 1601-1800
     */
    TABLE_NOT_FIND(1601, "表不存在"),

    /**
     * 用户字典&系统参数 1801-2000
     */
    CODE_REPEAT(1801, "编码重复"),
    PARAMS_NOT_FIND(1802, "系统参数找不到"),
    DICTIONARY_NOT_FIND(1803, "用户字典找不到"),
    OPT_PARAMS_NOT_REMOVE(1804, "无法删除平台级别的系统参数"),
    OPT_PARAMS_NOT_EDIT(1805, "无法修改平台级别的系统参数"),
    OPT_DICTIONARY_NOT_REMOVE(1806, "无法删除平台级别的用户字典"),

    /**
     * 定时任务 2001-2200
     */
    TASK_ERROR(2001, "任务失败"),
    CRON_ERROR(2002, "cron表达式不正确"),
    NOT_FOUND_BEAN(2003, "没有这个bean"),


    /**
     * 店铺 2201-2300
     */
    STORE_NAME_REPEAT(2201, "店铺名称重复"),
    STORE_NO_FIND(2203, "店铺不存在"),


    /**
     * 供货商 2301-2400
     */
    SUPPLIER_NAME_REPEAT(2301, "供货商名称重复"),
    SUPPLIER_NO_REPEAT(2302, "供货商编号重复"),
    SUPPLIER_NO_FIND(2303, "供货商不存在"),


    /**
     * 商品 2401-2500
     */
    GOODS_NAME_REPEAT(2401, "商品名称重复"),
    GOODS_BARCODE_REPEAT(2402, "商品条码重复"),
    GOODS_TYPE_NAME_REPEAT(2403, "分类名称重复"),


    /**
     * 订单 2501-2600
     */
    ORDER_NULL(2501, "订单不存在"),
    GET_WRITE_OFF_FAIL(2502, "获取核销码失败"),
    UPLOAD_BOOKING_FAIL(2503, "提交预约失败"),
    NOT_CONFIRMING_ORDER(2504, "请选择待确认的订单进行操作"),
    AGENT_APIID_ERROR(2505, "代理商APIID错误"),

    /**
     * 经营数据相关 2601-2700
     */
    EDITHISTORY_ERROR(2601, "请填写修订记录"),

    ;


    /**其他模块请根据需求自定义区间**/
    /**此模块提交之前请务必更新，防止冲突**/
    /**
     * 请以英文单词命名，全部大写，多个单词下划线隔开
     **/


    private int value;
    private String label;

    ResponseCode(int value, String label) {
        this.value = value;
        this.label = label;
    }

    @Override
    public int getValue() {
        return value;
    }

    @Override
    public String getLabel() {
        return label;
    }
}
